Modular Verification and Certificate Translation for Advice Weaving

نویسنده

  • César Kunz
چکیده

Aspect oriented programming (AOP) is a paradigm that offers a significant degree of modularity, allowing developers to separate cross-cutting aspects of a system from its main functionality. While this kind of programming modularity is appropriate to encapsulate concerns into single modules, namely aspects, program development may be highly error-prone due to the level of interference between aspects and the original code. Indeed, in order to take advantages of AOP modularity avoiding the harm of uncontrolled interference, verification techniques need to be developed. In this paper, we present a modular verification technique to certify that a program augmented by the introduction of aspects preserves its original specification. Furthermore we define a mechanism to transform certificates for correctness of AOP programs into certificates for compiled weaved code, in the spirit of proof carrying code architectures. This mechanism inherits the modularity of the verification technique and allows to build a certificate for an augmented code from the certificates of its components.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Aspect-Oriented Programming Runtime-Enforcement of Temporal Properties in Security-Critical Software

The Aspect-Oriented Programming paradigm has been advocated for modularisation of cross-cutting concerns in large systems. Various applications of this approach have been explored in the literature, one of which is that of runtime-verification based on assertions or temporal properties. Manually weaving temporal properties to ensure correct execution into a large code base is difficult to achie...

متن کامل

Taking into account Java’s Security Manager for static verification

The verification of Java programs is a difficult task, especially with components like the Security Manager which modify the semantic of the Java Virtual Machine (JVM). To model this invasive behaviour the Security Manager can be implemented as an aspect component, using AspectJ. In this paper we describe a framework for static verification of Java programs containing AspectJ advices specified ...

متن کامل

Modular Aspect Verification for Safer Aspect-Based Evolution

A long-term research goal for Aspect-Oriented Programming is the modular verification of aspects such that safe evolution and reuse is facilitated. However, one of the fundamental problems with verifying aspect-oriented programs is the inability to determine the effect of the weaving process on the control flow of the program, and thus on the state of the system and subsequently the properties ...

متن کامل

Extended Code Coverage for AspectJ-Based Runtime Verification Tools

Many runtime verification tools for the Java virtual machine rely on aspect-oriented programming, particularly on AspectJ, to weave the verification logic into the observed program. However, AspectJ imposes several limitations on the verification tools, such as a restricted join point model and the inability of weaving certain classes, particularly the Java and Android class libraries. In this ...

متن کامل

An Introduction to Certificate Translation

In a Proof-Carrying Code scenario, certificate generation remains a challenging problem. Typically, it is implemented as a compiler module that targets low-level executable code. Hence, since automatic, the properties under verification are limited to very simple safety policies. Discharging verification conditions automatically for arbitrarily complex properties is unfeasible. Therefore, it re...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007